package com.qijian.maindata.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.Date;

/****
 * 项目生产计划
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName("main_project_production_plan")
public class ProjectProductionPlan extends BaseEntity {

    @TableId
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "项目")
    private Long projectId;

    @ApiModelProperty(value = "开工令")
    private String projectNo;

    @ApiModelProperty(value = "机台号")
    private String machineNo;

    @ApiModelProperty(value = "工序类型名")
    private String processTypeName;

    @ApiModelProperty(value = "工序类型排序号")
    private Integer typeOrder;

    /** 计划开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "计划开始时间")
    private Date startTime;

    /** 计划结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "计划结束时间")
    private Date endTime;

    @ApiModelProperty(value = "步长")
    private Integer step;

    @ApiModelProperty(value = "项目开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date projectStartTime;

    @ApiModelProperty(value = "是否生成工单")
    private Boolean isDist;


}
